home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARGONET / PD / DTP / CACK.SPK / !Cack / !RunImage (.txt) < prev    next >
RISC OS BBC BASIC V Source  |  1995-08-13  |  9KB  |  349 lines

  1.  >!RunImage
  2.  Cack Generator
  3.  (c) Jon Ribbens of DoggySoft, 1993
  4.  Ha! Looking at the program, eh? Well, I've caught you out.
  5.  So you're gonna have to read my pome.
  6.  Slalom mice do daily go
  7.  Where others fear to tread,
  8.  But ski-jump mice oft feel the need
  9.  To hide beneath their beds.
  10.  *Now* you're sorry, aren't you?
  11. $+" at line "+
  12. init:
  13.  "Wimp_Initialise",200,&4B534154,"Cack" 
  14.  ,task%
  15.  q% 1024,indir% 1024,menu% 100:eindir%=indir%+1024
  16.  "Wimp_OpenTemplate",,"<Obey$Dir>.Templates"
  17.  "Wimp_LoadTemplate",,q%,indir%,eindir%,-1,"cack",0 
  18.  ,,indir%
  19.  "Wimp_CreateWindow",,q% 
  20.  cackw%
  21.  "Wimp_LoadTemplate",,q%,indir%,eindir%,-1,"info",0 
  22.  ,,indir%
  23.  "Wimp_CreateWindow",,q% 
  24.  infow%
  25.  "Wimp_CloseTemplate"
  26. N!q%=infow%:q%!4=4:
  27.  "Wimp_GetIconState",,q%:$(q%!28)="0.02 (06-Jan-1994)"
  28. M!q%=cackw%:
  29.  "Wimp_GetWindowState",,q%:q%!28=-1:
  30.  "Wimp_OpenWindow",,q%
  31. K!q%=cackw%:q%!4=0:
  32.  "Wimp_GetIconState",,q%:cacki%=q%!28:$cacki%=
  33. E$menu%="Cack":menu%!12=&70207:menu%!16=112:menu%!20=44:menu%!24=0
  34.  Cmenu%!28=0:menu%!32=infow%:menu%!36=&7000021:$(menu%+40)="Info"
  35. !@menu%!52=0:menu%!56=0:menu%!60=&7000021:$(menu%+64)="Insert"
  36. "Hmenu%!76=128:menu%!80=0:menu%!84=&7000021:$(menu%+88)="Quit":ins$=""
  37. #@quit%=
  38.  "OS_ReadMonotonicTime" 
  39.  ot%:ot%+=3000:
  40.  quit%
  41.  "OS_ReadMonotonicTime" 
  42.  (t%-ot%)>0:ot%+=3000:
  43.  ins$="" 
  44. '0    
  45.  "Wimp_PollIdle",6192,q%,ot% 
  46.  reason%
  47. )(    
  48.  "Wimp_Poll",6192,q% 
  49.  reason%
  50.  reason% 
  51. -&    
  52.  "OS_ReadMonotonicTime" 
  53.  t%>=ot% 
  54.       $cacki%=
  55. 04      
  56.  "Wimp_ForceRedraw",cackw%,0,-128,1276,0
  57. 1        
  58.  ins$<>"" 
  59. 3*      
  60.  "Wimp_ProcessKey",
  61. ins$,1))
  62.       ins$=
  63. ins$,2)
  64. 5        
  65. 7*    
  66.  "Wimp_RedrawWindow",,q% 
  67.  flag%
  68. 85    
  69.  flag%:
  70.  "Wimp_GetRectangle",,q% 
  71.  flag%:
  72. :     
  73.  "Wimp_OpenWindow",,q%
  74. <!    
  75.  "Wimp_CloseWindow",,q%
  76.  !q%=cackw% 
  77.  quit%=
  78. ?!    b%=q%!8:w%=q%!12:i%=q%!16
  79.  w%=cackw% 
  80.       
  81.  b%<>2 
  82.         $cacki%=
  83. C6        
  84.  "Wimp_ForceRedraw",cackw%,0,-128,1276,0
  85. D5        
  86.  "OS_ReadMonotonicTime" 
  87.  ot%:ot%+=3000
  88.        
  89. F6        
  90.  "Wimp_CreateMenu",,menu%,!q%-64,q%!4+16
  91.       
  92. H        
  93.  w%=infow% 
  94.  b%<>2 
  95. J4      q%!4=infow%:
  96.  "Wimp_GetWindowState",,q%+4
  97. K9      
  98.  b%=%100 
  99.  q%!32=-1:
  100.  "Wimp_OpenWindow",,q%+4
  101. L1      !q%=infow%:q%!4=1:
  102.  "Wimp_DragBox",,q%
  103. M        
  104. O3    m%=!q%:
  105.  "Wimp_GetPointerInfo",,q%:b%=q%!8
  106. R&      
  107.  "Wimp_GetPointerInfo",,q%
  108. S6      
  109.  "Wimp_CreateMenu",,infow%,!q%-420,q%!4+32
  110.       ins$=$cacki%+
  111. V=      
  112.  b%=1 
  113.  "Wimp_CreateMenu",,menu%,!q%-64,q%!4+16
  114.       quit%=
  115. Y        
  116.  17,18 :
  117.  q%!16 
  118.  0 : quit%=
  119. ]        
  120.  "Wimp_CloseDown"
  121.  adjobj%
  122.  adjobj$(adjobj%)
  123.  i%=1 
  124.  adjobj%
  125.  adjobj$(i%)
  126.  adjver%
  127.  adjver$(adjver%)
  128.  i%=1 
  129.  adjver%
  130.  adjver$(i%)
  131.  noun%
  132.  noun$(noun%)
  133.  i%=1 
  134.  noun%
  135.  noun$(i%)
  136.  verb%
  137.  verb$(verb%)
  138.  i%=1 
  139.  verb%
  140.  verb$(i%)
  141.  very%
  142.  very$(very%)
  143.  i%=1 
  144.  very%
  145.  very$(i%)
  146.  freq%
  147.  freq$(freq%)
  148.  i%=1 
  149.  freq%
  150.  freq$(i%)
  151.   lv%=0:lao%=0:lav%=0:lo%=0
  152.  cack$
  153.     cack$=""
  154. #    cack$=
  155. longcommand+", for "
  156. M    cack$=
  157. athe(
  158. longobject)+" "+
  159. longaction+" the "+
  160. longobject+", for "
  161. 5    cack$+=
  162. athe(
  163. longobject)+" "+
  164. longaction+" "
  165. %    cack$+=
  166. athe(
  167. longobject)+"."
  168. =    cack$+=
  169. adjver+" "+
  170. athe(
  171. longobject)+" "+
  172. action+" "
  173. %    cack$+=
  174. athe(
  175. longobject)+"."
  176. E    cack$+=
  177. athe(
  178. longobject)+" is "+
  179. adjver+" "+
  180. object+"-like."
  181. J    cack$+=
  182. freq+" "+
  183. longobjects+" "+
  184. longrepeat+" "+
  185. longobjects+"."
  186. J    cack$+=
  187. longobjects+" "+
  188. freq+" "+
  189. longrepeat+" "+
  190. longobjects+"."
  191. cack$,1)=
  192. upper(
  193. cack$,1))
  194. =cack$
  195. upper(a$)
  196.  a$>="a" 
  197.  a$<="z" 
  198. (a$)-32)
  199. athe(next$)
  200. (2)=1 
  201.  ="the "+next$
  202. "aeiou",
  203. next$,1)) 
  204.  ="an "+next$
  205. ="a "+next$
  206. action
  207. (verb%):
  208. v%<>lv%:lv%=v%
  209. verb$(v%),
  210. verb$(v%),"|")+1)
  211. command
  212. (verb%):
  213. v%<>lv%:lv%=v%
  214. verb$(v%),
  215. verb$(v%),"|")-1)
  216. adjobj
  217. (adjobj%):
  218. ao%<>lao%:lao%=ao%
  219. =adjobj$(ao%)
  220. adjver
  221. (adjver%):
  222. av%<>lav%:lav%=av%
  223. =adjver$(av%)
  224. object
  225. (noun%):
  226. o%<>lo%:lo%=o%
  227. noun$(o%),
  228. noun$(o%),"|")-1)
  229. objects
  230. (noun%):
  231. o%<>lo%:lo%=o%
  232. noun$(o%),
  233. noun$(o%),"|")+1)
  234. =very$(
  235. (very%))
  236. =freq$(
  237. (freq%))
  238. longobject
  239.     lo$=
  240. object
  241.     lo$=
  242. adjobj+" "+
  243. object
  244. <    lo$=
  245. adjobj+", yet "+
  246. adjver+" "+
  247. adjobj+" "+
  248. object
  249. )    lo$=
  250. very+" "+
  251. adjobj+" "+
  252. object
  253. longobjects
  254.     lo$=
  255. objects
  256.      lo$=
  257. adjobj+" "+
  258. objects
  259. =    lo$=
  260. adjobj+", yet "+
  261. adjver+" "+
  262. adjobj+" "+
  263. objects
  264. *    lo$=
  265. very+" "+
  266. adjobj+" "+
  267. objects
  268. longaction
  269.     la$=
  270. adjver+" "+
  271. action
  272. /    la$=
  273. adjver+" but "+
  274. adjver+" "+
  275. action
  276. longrepeat
  277.      lr$=
  278. adjver+" "+
  279. command
  280. 0    lr$=
  281. adjver+" and "+
  282. adjver+" "+
  283. command
  284. longcommand
  285.      lc$=
  286. command+" "+
  287. adjver
  288. 4    lc$=
  289. command+" the "+
  290. longobject+" "+
  291. adjver
  292.      lc$=
  293. command+" "+
  294. adjver
  295. 4    lc$=
  296. adjver+" "+
  297. command+" the "+
  298. longobject
  299.  Adjectives (adjobj$)
  300.  rotund,fat,round,red,short,full,flat,rippled,pert,pointless,squishy
  301.  strange,silent,square,pointed,sharpened,deafening,floppy,rigid,colourful
  302.  bland,stupid,black,furry,hot,remarkable
  303.  fishy,mangy,vast,spherical,blasted,tame,unfortunate,green
  304.  gruesome,happy,malicious,bouncy,loud,greasy,early,sturdy,heavenly
  305.  Adverbs (adjver$)
  306.  quickly,cautiously,rotundly,promptly,pointlessly,lamely,flatly,fully
  307.  vapidly,boredly,warily,confidently,over-confidently,stupidly
  308.  suddenly,quietly,noisily,sardonically,sarcastically,underhandedly
  309.  unnecessarily,stunningly,cleverly,viciously,violently
  310.  smarmily,gormlessly,contentedly,quietly,surreptitiously,aimlessly
  311.  aggressively,beautifully,stubbornly,distrustfully,hastily
  312.  rashly,punctually
  313.  Objects (noun$)
  314.  potato|potatoes,prime minister|cabinet ministers,vegetable|vegetables,apple|apples
  315.  ball|balls,book|books,llama|llamas,snake|snakes,ruler|rulers,king|kings
  316.  hotel|hotels,mushroom|mushrooms
  317.  vote of no confidence|votes of no confidence
  318.  periodic table|periodic tables,tarot card|tarot cards,bicycle|bicycles
  319.  zombie|zombies,staircase|staircases,camera|cameras
  320.  fruiterer|fruiterers,stick|sticks,hat|hats,ant-eater|ant-eaters
  321.  painting|paintings,magazine|magazines,House of Lords|Houses of Parliament
  322.  bookshelf|bookshelves,anvil|anvils,lampshade|lampshades,lasagne|lasagnes
  323.  lay-by|lay-bys,swan|swans,tape-recorder|tape-recorders,sheep|sheep
  324.  mouse|mice
  325.  jiffy bag|jiffy bags,credit card|credit cards
  326.  television|televisions,Maggie Thatcher|Maggie Thatchers,radiator|radiators,bin bag|bin bags
  327.  child|children,stapler|staplers,umbrella|umbrellas,plug|plugs,thesaurus|thesauruses
  328.  mug|mugs,tissue|tissues,bunny|bunnies
  329.  Actions (verb$)
  330.  squash|squashes,hit|hits,maim|maims,squeeze|squeezes,hair-dry|hair-dries
  331.  eat|eats,lick|licks,shoot|shoots,roll|rolls,push|pushes,circle|circles
  332.  wallop|wallops,pick|picks,hold|holds,flatten|flattens,paint|paints
  333.  mend|mends,break|breaks,attack|attacks,consider|considers,stun|stuns
  334.  strangle|strangles,victimise|victimises,fondle|fondles,rule|rules
  335.  spin|spins,abuse|abuses,blame|blames,slice|slices,drop|drops,polish|polishes
  336.  paint|paints,scratch|scratches,contain|contains,sell|sells,examine|examines
  337.  push|pushes,enjoy|enjoys,reject|rejects,like|likes
  338.  Superlatives (very$)
  339.  very,extremely,slightly,hugely,massively,muchly,quietly,inhumanly
  340.  staggeringly,underhandedly,unnoticeably,tinily,fractiously
  341.  exaggeratedly,unnecessarily,not overly,swimmingly
  342.  rather,absolutely,acutely,decidedly,highly,quite,unusually,somewhat
  343.  eminently,tremendously
  344.  Frequencies (freq$)
  345.  sometimes,occasionally,often,frequently,fortnightly,once in a blue moon
  346.  every day,every week,hourly,annually,at random intervals,monthly
  347.  bi-monthly,every four years,when the moon is full
  348.  repeatedly,always
  349.